home *** CD-ROM | disk | FTP | other *** search
/ Aminet 43 / Aminet 43 (2001)(GTI - Schatztruhe)[!][Jun 2001].iso / Aminet / game / misc / WormWars.lha / WormWars / Source / engine.h < prev    next >
Text File  |  2001-04-21  |  10KB  |  245 lines

  1. /* $Filename:    WormWars/Source/engine.h $
  2.  * $VER:         WormWars 6.5 $
  3.  * $Description: Constants for game engine $
  4.  *
  5.  * © Copyright 2000 James R. Jacobs.
  6.  */
  7.  
  8. #define ARROWX             (FIELDX + 1)
  9. #define GOATMOVE             5 // assert (GOATMOVE != 0);
  10. #define NOSE                 2 // if (NOSE > PROTECTORS) nose disabled
  11. #define NOSEDISTANCE         4
  12. #define WORMQUEUELIMIT      15
  13. #define DOGQUEUELIMIT      120
  14. #define TIMELIMIT          599
  15. #define SECONDSPERLEVEL    120 // assert (SECONDSPERLEVEL <= TIMELIMIT);
  16. #define UNDRIFT              5 // assert (UNDRIFT != 0);
  17.  
  18. // dog dormancy
  19.  
  20. #define DORMANT              0
  21. #define AWAKENING            1
  22. #define CHASING             10
  23.  
  24. // frequencies
  25.  
  26. #define FREQ_PENGUIN         1
  27. #define FREQ_DRIP            1
  28. #define FREQ_MAX            70
  29. #define FREQ_DEC             2
  30. #define FREQ_MIN            10
  31. #define FREQ_TELEPORT      240
  32.  
  33. #define BONUSPENGUINSPEED    7
  34. #define BONUSDRIPSPEED      11
  35. #define BONUSFRAGSPEED       9
  36. #define BONUSMISSILESPEED    9
  37. #define CLOUDSPEED           9
  38. #define DOGSPEED             8
  39. #define DRIPSPEED           13
  40. #define FRAGSPEED           10
  41. #define GOATSPEED           19
  42. #define MAGNETSPEED          9
  43. #define MISSILESPEED        12
  44. #define ORBSPEED            11
  45. #define PENGUINSPEED        23
  46. #define TIMEBOMBSPEED       60
  47.  
  48. // population limits
  49.  
  50. #define CREATURES           50
  51. #define MAGNETS             20
  52. #define PROTECTORS           2 // <=4!
  53.  
  54. // vampirism
  55.  
  56. #define DRIPBLOOD            1
  57. #define GOATBLOOD            1
  58. #define OCTOPUSBLOOD         1
  59. #define ORBBLOOD             1
  60. #define PENGUINBLOOD         1
  61.  
  62. // jump distances
  63.  
  64. #define FASTDISTANCE         5
  65. #define NORMALDISTANCE       4
  66. #define SLOWDISTANCE         3
  67. #define VERYSLOWDISTANCE     2
  68.  
  69. // skill points
  70.  
  71. #define EMPTYPOINT           1
  72. #define TAILBONUS            1
  73. #define DYNAMITEPOINT        5
  74. #define TURNTOSILVER         5
  75. #define TURNTOGOLD          10
  76. #define SILVERPOINT         10
  77. #define TIMEBONUS           10
  78. #define ENCLOSUREPOINT      10
  79. #define TELPOINT            20
  80. #define GOLDPOINT           20
  81. #define HITSHOT             50
  82. #define KILLGOAT            50
  83. #define KILLPENGUIN         50
  84. #define KILLOCTOPUS         75
  85. #define KILLWORM           100
  86. #define BOMBOVEREDGE       100
  87. #define SKULLPOINT         100
  88. #define LETTERPOINT        100
  89. #define DRIPBONUS          100
  90. #define LEVELBONUS         100
  91.  
  92. // pain ratings
  93.  
  94. #define DOGPAIN         5
  95. #define DRIPPAIN        5
  96. #define HEADPAIN        5
  97. #define MISSILEPAIN     5
  98. #define ORBPAIN         5
  99. #define OCTOPUSPAIN     5
  100. #define PROTECTORPAIN    5
  101. #define REMNANTPAIN     5
  102. #define TELEPORTPAIN    5
  103. #define WORMFIREPAIN    5
  104. #define WHIRLWINDPAIN   5
  105.  
  106. #define BOMBPAIN        3
  107. #define CLOUDPAIN       3
  108. #define FRAGMENTPAIN    3
  109. #define LIGHTNINGPAIN    3
  110. #define METALPAIN       3
  111. #define OTHERTAILPAIN    3
  112. #define PENGUINPAIN     3
  113. #define PENGUINPAIN     3
  114.  
  115. #define GOATPAIN        2
  116. #define SLAYERPAIN        2
  117. #define SLIMEPAIN        2
  118.  
  119. #define STONEPAIN        1
  120. #define TAILPAIN        1
  121. #define WOODPAIN        1
  122.  
  123. // objects
  124.  
  125. #define BOMBADD       5 // in squares radius
  126. #define BOMBRAND     25
  127. #define CLOCKADD     10 // in seconds
  128. #define CLOCKRAND    20
  129. #define CUTTERADD    20 // in VERYSLOWs
  130. #define CUTTERRAND   25
  131. #define FREEDOMADD   20 // in VERYSLOWs
  132. #define FREEDOMRAND  50
  133. #define ICEADD        5 // in VERYSLOWs
  134. #define ICERAND       5
  135. #define MODEADD      30 // in VERYSLOWs
  136. #define MODERAND     40
  137. #define TREASUREADD  10 // in seconds
  138. #define TREASURERAND 10
  139.  
  140. MODULE  void changefield(void);
  141. MODULE  void clearletters(void);
  142. MODULE  void death(void);
  143. MODULE  void fastloop(void);
  144. MODULE  void killall(void);
  145. MODULE  void magnetloop(void);
  146. MODULE  void newfield(void);
  147. MODULE  void newhiscores(void);
  148. MODULE  void slowloop(void);
  149.  
  150. MODULE  void bangdynamite(SBYTE x, SBYTE y, SBYTE player);
  151. MODULE  void bombblast(SBYTE triggerer, SBYTE player, SBYTE centrex, SBYTE centrey);
  152. MODULE  void bothcol(SBYTE player, SBYTE x, SBYTE y);
  153. MODULE  void bouncegoat(SBYTE which, SBYTE x, SBYTE y);
  154. MODULE  void __inline change(SBYTE x, SBYTE y, UBYTE image);
  155. MODULE  void cloudbullet(UBYTE which, SBYTE x, SBYTE y, SBYTE deltay);
  156. MODULE  void copyfield(SBYTE source, SBYTE destination);
  157. MODULE  void createmissile(UBYTE player, SBYTE x, SBYTE y);
  158. MODULE  void creatureloop(SBYTE which);
  159. MODULE  void dogqueue(SBYTE which, SBYTE deltax, SBYTE deltay);
  160. MODULE  void drawcause(SBYTE player, SBYTE state);
  161. MODULE  void drawletter(SBYTE player, SBYTE letter, SBYTE state);
  162. MODULE  void explosion(SBYTE x, SBYTE y, SBYTE exceptionx, SBYTE exceptiony, UBYTE creator);
  163. MODULE  void newlevel(SBYTE player);
  164. MODULE  void orbscore(SBYTE which, ULONG score);
  165. MODULE  void orbsplit(SBYTE which);
  166. MODULE  void protcol(SBYTE player, SBYTE x, SBYTE y, SBYTE thisprot);
  167. MODULE  void putletter(SBYTE player);
  168. MODULE  void ramming(SBYTE player);
  169. MODULE  void reflect(UBYTE which);
  170. MODULE  void turnworm(SBYTE player, SBYTE deltax, SBYTE deltay);
  171. MODULE  void updatearrow(SBYTE arrowy);
  172. MODULE  void wormbullet(SBYTE player);
  173. MODULE  void wormletter(SBYTE player, SBYTE c);
  174. MODULE  void wormloop(SBYTE player);
  175. MODULE  void wormcol(SBYTE player, SBYTE x, SBYTE y, ABOOL enclosed);
  176.  
  177. MODULE void dogdog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  178. MODULE void dogdrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  179. MODULE void dogfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  180. MODULE void dogmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  181. MODULE void dogorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  182. MODULE void dogpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  183. MODULE void dogwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  184. MODULE void dripfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  185. MODULE void dripmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  186. MODULE void driporb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  187. MODULE void drippenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  188. MODULE void dripwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  189. MODULE void fragfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  190. MODULE void fragorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  191. MODULE void fragmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  192. MODULE void fragpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  193. MODULE void fragwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  194. MODULE void missilemissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  195. MODULE void missilepenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  196. MODULE void missilewhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  197. MODULE void orborb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  198. MODULE void orbmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  199. MODULE void orbpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  200. MODULE void orbwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  201. MODULE void penguinwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  202. MODULE void whirlwindwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  203. MODULE void wormdog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  204. MODULE void wormdrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  205. MODULE void wormfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  206. MODULE void wormmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  207. MODULE void wormorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  208. MODULE void wormpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  209. MODULE void wormwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  210. MODULE void wormworm(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  211. MODULE void protdog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  212. MODULE void protdrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  213. MODULE void protfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  214. MODULE void protmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  215. MODULE void protorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  216. MODULE void protpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  217. MODULE void protwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  218. MODULE void protworm(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  219. MODULE void protprot(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  220. MODULE void clouddog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  221. MODULE void clouddrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  222. MODULE void cloudfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  223. MODULE void cloudmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  224. MODULE void cloudorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  225. MODULE void cloudpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  226. MODULE void cloudwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  227. MODULE void cloudworm(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  228. MODULE void cloudprot(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  229. MODULE void cloudcloud(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  230. MODULE void octopusfire(UBYTE which);
  231.  
  232. MODULE SWORD atleast(SWORD value, SWORD minimum);
  233. MODULE ABOOL blocked(SBYTE which, SBYTE deltax, SBYTE deltay);
  234. MODULE ABOOL bounceorb(SBYTE which, SBYTE x, SBYTE y);
  235. MODULE SBYTE bsign(SBYTE value);
  236. MODULE ABOOL findempty(SBYTE* x, SBYTE* y, SBYTE first, SBYTE last);
  237. MODULE SBYTE onlyworm(ABOOL alive);
  238. MODULE SBYTE slowdown(SBYTE speed, ABOOL nitro);
  239. MODULE SBYTE speedup(SBYTE speed, ABOOL nitro);
  240. MODULE ULONG squareblast(SBYTE type, SBYTE player, SBYTE thissy, SBYTE x, SBYTE y, ABOOL cutter);
  241. MODULE UBYTE whichcreature(SBYTE x, SBYTE y, UBYTE species, UBYTE exception);
  242. MODULE SBYTE whichteleport(SBYTE x, SBYTE y);
  243. MODULE ULONG wormobject(UBYTE player, SBYTE x, SBYTE y);
  244.  
  245.